language: c
compiler: clang
branches:
    only:
        - ci
        - master
sudo: false
dist: trusty
addons:
    apt:
        packages:
            - cmake
            - libxrandr-dev
            - libxinerama-dev
            - libxcursor-dev
            - libxi-dev
matrix:
    include:
        - os: linux
          env:
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
        - os: linux
          env:
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
        - os: linux
          sudo: required
          addons:
              apt:
                  packages:
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
        - os: linux
          sudo: required
          addons:
              apt:
                  packages:
                      - libwayland-dev
                      - libxkbcommon-dev
                      - libegl1-mesa-dev
          env:
              - USE_WAYLAND=ON
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
        - os: osx
          env:
              - BUILD_SHARED_LIBS=ON
              - CFLAGS=-Werror
        - os: osx
          env:
              - BUILD_SHARED_LIBS=OFF
              - CFLAGS=-Werror
script:
    - if grep -Inr '\s$' src include docs tests examples CMake *.md .gitattributes .gitignore; then echo Trailing whitespace found, aborting.; exit 1; fi
    - mkdir build
    - cd build
    - if test -n "${USE_WAYLAND}";
          then wget https://mirrors.kernel.org/ubuntu/pool/universe/e/extra-cmake-modules/extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
          sudo dpkg -i extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
          git clone git://anongit.freedesktop.org/wayland/wayland-protocols;
          pushd wayland-protocols;
          git checkout 1.15 && ./autogen.sh --prefix=/usr && make && sudo make install;
          popd;
      fi
    - cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DGLFW_USE_WAYLAND=${USE_WAYLAND} ..
    - cmake --build .
notifications:
    email:
        recipients:
            - ci@glfw.org
    on_success: never
    on_failure: always
